package com.woody.aggregate.common.util;

import java.util.Date;

/**
 * &copy; All rights Reserved
 *
 * @author wénkǎi.zhāng 2025-04-10
 */
public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
    /**
     * 判断当前时间是否在给定的两个时间之间（含两端）
     *
     * @param startDate 开始时间（含）
     * @param endDate 结束时间（含）
     * @return 如果当前时间在开始日期和结束日期之间（含两端），则返回true；否则返回false
     */
    public static boolean isNowBetween(Date startDate, Date endDate) {
        return isBetween(new Date(), startDate, endDate);
    }

    /**
     * 判断指定时间是否在两个时间之间（含两端）
     *
     * @param date 指定时间
     * @param startDate 开始时间（含）
     * @param endDate 结束时间（含）
     * @return 如果当前时间在开始日期和结束日期之间（含两端），则返回true；否则返回false
     */
    public static boolean isBetween(Date date, Date startDate, Date endDate) {
        if (startDate == null || endDate == null) {
            return false;
        }

        // 当前时间大于等于开始时间且小于等于结束时间
        return !date.before(startDate) && !date.after(endDate);
    }
}
